package com.jrx.anytxn.param.service.aviator;

import com.jrx.anytxn.common.exception.TxnBizException;
import com.jrx.anytxn.param.dto.aviator.AviatorDicInfoReq;
import com.jrx.anytxn.param.dto.aviator.AviatorDicInfoRes;
import com.jrx.anytxn.param.dto.aviator.TransactionDicInfoRes;

import java.util.List;

/**
 * @author Qingyao Xing
 * @date 2019/7/16 14:44
 */
public interface IDicInfoService {

    /***
     *  根据主键查询规则条件数据
     * @param id
     * @return com.jrx.anytxn.param.account.dto.AviatorDicInfoRes
     * @author Qingyao Xing
     * @date 2019/7/16 14:39
     */
    AviatorDicInfoRes getDicByPrimaryKey(Long id,String tenantId);


    /**
     * 添加规则条件数据
     * @param aviatorDicInfo
     * @return java.lang.Boolean
     * @author Qingyao Xing
     * @date 2019/7/16 14:40
     */
    Boolean registerAviatorDicInfo(AviatorDicInfoReq aviatorDicInfo) throws TxnBizException;

    /**
     * 修改规则条件数据
     *@param aviatorDicInfo
     * @return java.lang.Boolean
     * @throw
     * @author Qingyao Xing
     * @date 2019/7/16 14:41
     */
    Boolean modifyAviatorDicInfo(AviatorDicInfoReq aviatorDicInfo);

    /**
     * 删除条件信息数据
     * @param id
     * @return java.lang.Boolean
     * @throw
     * @author Qingyao Xing
     * @date 2019/7/16 14:41
     */
    Boolean cancelAviatorDicInfo(Long id,String tenantId);


    /**
     * 根据规则类型和组织id查询条件集合
     *@param ruleType
     * @param tenantId
     * @return java.util.List<com.jrx.anytxn.param.account.dto.AviatorDicInfoRes>
     * @throw
     * @author Qingyao Xing
     * @date 2019/7/16 14:42
     */
    List<AviatorDicInfoRes> getAllDicByParams(String ruleType, String tenantId);


    /**
     * 查询交易识别结果集
     * @param
     * @return java.util.List<com.jrx.anytxn.param.account.dto.TransactionDicInfoDTO>
     * @throw
     * @author Qingyao Xing
     * @date 2019/7/16 14:43
     */
    List<TransactionDicInfoRes> getTransactionIdentificationParam();

}
